package com.dkd.day20250819;

public class lc005 {
    public static void main(String[] args) {
        //11. 盛最多水的容器
        //已解答
        //中等
        //相关标签
        //premium lock icon
        //相关企业
        //提示
        //给定一个长度为 n 的整数数组 height 。有 n 条垂线，第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。
        //
        //找出其中的两条线，使得它们与 x 轴共同构成的容器可以容纳最多的水。
        //
        //返回容器可以储存的最大水量。
        int [] water= {1,8,6,2,5,4,8,3,7};
        solve(water);
    }

    public static void solve(int [] water) {
        //双指针，水量受限于短板
        int left = 0;
        int right = water.length - 1;
        int max = 0;
        while (left <= right) {
            if (water[left] > water[right]) {
                max = Math.max(max, (right - left) *water[right]);
                right--;
            }else{
                max = Math.max(max, (right - left) *water[left]);
                left++;
            }
        }
        System.out.println(max);
    }
}
